// using Letter.IO.Channels;
//
// namespace ChannelTest;
//
// public class EventChannel
// {
//     private static IChannel<string> channel = ChannelProvider.Create<string>();
//     
//     
//     public static Task StartAsync()
//     {
//         channel.Reader.SetListener(OnChannelCanReadEvent);
//         channel.Reader.ReceiveAsync();
//
//         while (true)
//         {
//             var str = Console.ReadLine();
//             if (str == "out")
//             {
//                 channel.Writer.Complete();
//             }
//             else
//             {
//                 channel.Writer.TryWrite(str);
//                 channel.Writer.Fush();
//             }
//         }
//         
//         return Task.CompletedTask;
//     }
//
//     
//     private static void OnChannelCanReadEvent()
//     {
//         Console.WriteLine("VVVVVVVVVVVVVVVVVVVVVVVVVVV");
//         while (channel.Reader.TryRead(out var item))
//         {
//             Console.WriteLine(item);
//         }
//         
//         channel.Reader.ReceiveAsync();
//     }
// }